//可以显示在界面中的“形状”
abstract interface class Shape {      //Dart语言中“抽象类/接口”都用 abstract interface class
  String bgColor = 'WHITE';

  Shape(this.bgColor);

  setBgColor(String c){
    this.bgColor = c;
  }

  getSize();  //抽象方法：形状类应该提供“计算面积”方法，但是却无法提供
}

// class A{}
//矩形是一个图形，故可以继承自图形 —— Dart只支持“单继承”
class Rectangle extends Shape {
  late int width;
  late int height;

  Rectangle(super.bgColor, this.width, this.height);

  @override
  getSize() {
    return this.width * this.height;
  }
}

main(){
  Shape  s1 = Rectangle('YELLOW', 100, 200);
  print(s1);
}